package com.mcc.app.carbonEmission.service;

import java.util.List;
import com.mcc.app.carbonEmission.domain.ReportProductData;

/**
 * 工序生产数据及排放量Service接口
 *
 * @author gxy
 * @date 2025-07-04
 */
public interface IReportProductDataService {

    /**
     * 查询工序生产数据及排放量
     *
     * @param id 工序生产数据及排放量ID
     * @return 工序生产数据及排放量
     */
    ReportProductData selectReportProductDataById(Long id);

    /**
     * 查询工序生产数据及排放量列表
     *
     * @param reportProductData 工序生产数据及排放量
     * @return 工序生产数据及排放量集合
     */
    List<ReportProductData> selectReportProductDataList(ReportProductData reportProductData);

    /**
     * 新增工序生产数据及排放量
     *
     * @param reportProductData 工序生产数据及排放量
     * @return 结果
     */
    int insertReportProductData(ReportProductData reportProductData);

    /**
     * 修改工序生产数据及排放量
     *
     * @param reportProductData 工序生产数据及排放量
     * @return 结果
     */
    int updateReportProductData(ReportProductData reportProductData);

    /**
     * 修改工序生产数据及排放量
     *
     * @param reportProductDataList 工序生产数据及排放量
     * @return 结果
     */
    int updateReportProductDataList(List<ReportProductData> reportProductDataList);
    /**
     * 删除工序生产数据及排放量信息
     *
     * @param id 工序生产数据及排放量ID
     * @return 结果
     */
    int deleteReportProductDataById(Long id);

    /**
     * 批量删除工序生产数据及排放量
     *
     * @param ids 需要删除的工序生产数据及排放量ID
     * @return 结果
     */
    int deleteReportProductDataByIds(Long[] ids);


    void generateProductData(boolean isSearch);
}
